// meshGeometry

import {
    Mesh,
    MeshBasicMaterial,
    PlaneGeometry,
    TextureLoader,
    BoxGeometry,
    SphereGeometry,
    BufferAttribute,
    CircleGeometry,
    DoubleSide,
    MeshLambertMaterial,
    RepeatWrapping,
} from "three";

// 创建一个平板
const geometry = new PlaneGeometry(192, 120);
// const geometry = new BoxGeometry(100, 100, 100); //长方体
// const geometry = new SphereGeometry(100, 100, 100);
// const geometry = new CircleGeometry(60, 100); // 通过 CircleGeometry创建一个网格模型

// 查看默认uv
console.log("uv", geometry.attributes.uv);
// 设置纹理坐标
// const uvs = new Float32Array([
//     0,
//     0, // 图片左下角
//     1,
//     0, // 图片右下角
//     1,
//     1, // 图片右上角
//     0,
//     1, // 图片左上角
// ]);
// // 设置几何体attributes属性的位置normal属性
// geometry.attributes.uv = new BufferAttribute(uvs, 2);
// 创建材质
const texloader = new TextureLoader();
// const texture = texloader.load("/cizhuan.jpg");
const texture = texloader.load("/p1.webp");
texture.wrapS = RepeatWrapping;
texture.wrapT = RepeatWrapping;
// uv两个方向纹理重复数量
texture.repeat.set(12, 12); //注意选择合适的阵列数量
const material = new MeshLambertMaterial({
    map: texture,
    side: DoubleSide, //双面展示
});

const meshGeometry = new Mesh(geometry, material);
// meshGeometry.position.set(1920 / 2, 1200 / 2, 0);

export { meshGeometry };
